A conventional network traditionally includes a variety of hardware devices, such as routers, switches, and hubs that provide a heterogeneous array of services. For example, routers include an operating system that provides routing services through the implementation of various routing protocols, quality of service (QoS) services, and discovery services. In some routers, the operating system is monolithic, and each feature must be statically linked and distributed in a new release of the operating system software. Minor changes made to any service provided by the router may require a redesign of the entire operating system. Each added feature in the new release of the operating system must be tested for all platforms, which causes a slow time to market for mass-market features and excludes specialized features for smaller markets. Furthermore, the unused features on the routers waste valuable storage space in the memory of the router.